package com.itheima.pattern.t2_factory.demo4;

/**
 * 抽象工厂模式
 * 是一种为访问类提供一个创建一组相关或相互依赖对象的接口，且访问类无须指定所要产品的具体类，
 * 就能得到同族的不同等级的产品的模式结构。
 *
 * 抽象工厂模式是工厂方法模式的升级版本，工厂方法模式只生产一个等级的产品，
 * 而抽象工厂模式可生产多个等级的产品。
 */
public class TestDemo {

    public static void main(String[] args) {
        // 创建甜品工程对象
        DessertFactory factory = new AmericanDessertFactory();
        // DessertFactory factory = new ItalyDessertFactory();
        // 获取咖啡和甜品
        Coffee coffee = factory.createCoffee();
        Dessert dessert = factory.createDessert();

        System.out.println(coffee.getName());
        dessert.show();
    }
}
